package com.sugar.subscribe.course.module.business.controller.admin.withdrawrecord.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 提现记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class WithdrawRecordRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1707")
    @ExcelProperty("ID")
    private Long id;

    @Schema(description = "教练ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15248")
    @ExcelProperty("教练ID")
    private Long coachId;

    @Schema(description = "教练姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "15248")
    @ExcelProperty("教练姓名")
    private String coachName;

    @Schema(description = "教练手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15248")
    @ExcelProperty("教练手机号")
    private String coachMobile;

    @Schema(description = "提现金额（单位分）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("提现金额（单位分）")
    private Integer amount;

    @Schema(description = "提现状态：[0待审核；1审核通过；2已到账；3审核拒绝；4提现失败]", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("提现状态：[0待审核；1审核通过；2已到账；3审核拒绝；4提现失败]")
    private Integer status;

    @Schema(description = "失败/拒绝原因")
    @ExcelProperty("失败/拒绝原因")
    private String failCause;

    @Schema(description = "提现到账时间")
    @ExcelProperty("提现到账时间")
    private LocalDateTime doneTime;

    @Schema(description = "转账单编号", example = "15500")
    @ExcelProperty("转账单编号")
    private Long payTransferId;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
